/**
 * 
 */
package com.jushu.storbox.service;

import java.util.List;

import com.jushu.storbox.entities.FolderInfo;
import com.huawei.sharedrive.sdk.android.modelV2.response.FolderResponse;


public interface ILocalShareFolderService extends ILocalService{
	/**
	 * @param folderInfo
	 */
	public void insertFolder(FolderResponse folderResponse,String defaultId);

	/**
	 * @param folderInfo
	 */
	public void updateFolder(FolderResponse folderResponse,String defaultId);

	/**
	 * @param folderInfo
	 */
	public void updateFolder(FolderInfo folderInfo);

	/**
	 * @param folderInfo
	 */
	public void insertOrUpdateFolder(FolderResponse folderResponse);

	/**
	 * @param folderId
	 * @return
	 */
	public List<FolderInfo> getFolderList(String folderId,String ownerBy);

	/**
	 * @param id
	 */
	public void deleteFolderAndChild(String folderID,String ownerBy);

	/**
	 * 
	 * 
	 * @param context
	 * @param name
	 */
	public void renameFolder(String name, String folderID,String ownerBy);

	/**
	 * 
	 * @param context
	 * @param parentID
	 * @param FolderID
	 */
	public void moveFolder(String parentID, String folderID,String ownerBy);

	/**
	 * @param folderId
	 * @return
	 */
	public FolderInfo getFolderById(String folderId,String ownerBy);

	/**
	 * 
	 * @param folderId
	 * @param localPath
	 */
	public void updateLocalPath(String folderId, String localPath,String ownerBy );

	/**
	 * 
	 * @param status
	 * @param folder
	 */
	public void updateTransStatus(int status, String folderId,String ownerBy);

	/**
	 * 
	 * @param syncStatus
	 * @param folderId
	 */
	public int updateSyncStatus(int syncStatus, String folderId,String ownerBy);
	
	/**
	 * @param folderId
	 * @param folderName
	 */
	public void syncFolder(String folderId, String folderName, String ownerBy);
	
	/**
	 * @param folderId
	 * @param folderName
	 */
	public void cancelSyncFolder(String ownerId, String folderId,String folderName);

	/**
	 * 
	 * @param folderId
	 */
	public void updateLastRefreshTime(String ownerId, String folderId);

	/**
	 * 
	 * @param folderId
	 * @return
	 */
	public long getLastRefreshTime(String ownerId, String folderId);
	
	
	/**
	 * 
	 * @param fileId
	 */
	public FolderInfo selectShareFolder(String fileId,String ownerId);
}
